package test.aat.ejinr.chkphone01;

import java.io.BufferedInputStream;
import java.net.URL;
import java.net.URLConnection;


public class ChkTools {
	
	public static void main(String[] args) {
	}
	
	
	
	
	//私募排排 GET http://www.simuwang.com/passport/api_reg_check.php?rz_cback=jQuery17207086137678631337_1460599556959&type=phone&phone=15001236918&_=1460600273408
	
	
	
	/**
	 * @info 联通手机号码验证
	 * @param ip
	 *            代理的IP地址
	 * @param port
	 *            代理的端口号
	 * @param phone
	 *            验证的手机号码
	 * @return true false
	 */
	
	public static boolean chkLTPhone(String ip, String port, String phone) {
		if (null == ip || ip.length() == 0 || null == port || port.length() == 0) {

		} else {
			System.setProperty("http.maxRedirects", "50");
			System.getProperties().setProperty("proxySet", "true");
			System.getProperties().setProperty("http.proxyHost", ip);
			System.getProperties().setProperty("http.proxyPort", port);
		}

		String url = "https://upay.10010.com/npfweb/NpfCellWeb/Mustpayment/getMustpayment";
		String param = "number=" + phone + "&GET";
		String res = HttpRequest.sendGet(url, param);

		if (res.contains("0.00")) {
			return true;
		}
		return false;
	}
	
	
	
	
	
	/**
	 * @info 和讯网
	 * @param ip
	 *            代理的IP地址
	 * @param port
	 *            代理的端口号
	 * @param phone
	 *            验证的手机号码
	 * @result {"state":"Y","msg":"可用"}或者{"state":"N","msg":"该手机号已经注册"}
	 * @return true false
	 */
	public static boolean testHxw(String ip, String port, String phone) {
		if (null == ip || ip.length() == 0 || null == port || port.length() == 0) {

		} else {
			System.setProperty("http.maxRedirects", "50");
			System.getProperties().setProperty("proxySet", "true");
			System.getProperties().setProperty("http.proxyHost", ip);
			System.getProperties().setProperty("http.proxyPort", port);
		}
		String s1 = HttpRequest.sendPost("https://reg.hexun.com/rest/ajaxlogin.aspx",
				"mobile=" + phone + "&act=checkmobile", "gbk");
		boolean b = true;
		if (s1.contains("N")) {
			b = true;
		} else {
			b = false;
		}
		return b;
	}

	/**
	 * @info 同花顺
	 * @param ip
	 *            代理的IP地址
	 * @param port
	 *            代理的端口号
	 * @param phone
	 *            验证的手机号码
	 * @return true false
	 */
	public static boolean testThx(String ip, String port, String phone) {
		long l1 = getTimePoor(ip, port, phone);
		long l2 = getTimePoor(ip, port, "15001236918");// 是
		boolean b = true;
		if (l1 > l2 * 0.8 || l1 < l2 * 1.2) {
			b = true;
		} else {
			b = false;
		}
		return b;
	}

	private static long getTimePoor(String ip, String port, String phone) {
		if (null == ip || ip.length() == 0 || null == port || port.length() == 0) {

		} else {
			System.setProperty("http.maxRedirects", "50");
			System.getProperties().setProperty("proxySet", "true");
			System.getProperties().setProperty("http.proxyHost", ip);
			System.getProperties().setProperty("http.proxyPort", port);
		}

		long l1 = System.currentTimeMillis();
		getHtml("http://i.10jqka.com.cn/ucenter/register/isPhoneCanBeBindedNew?phone=" + phone);
		long l2 = System.currentTimeMillis();
		long res = l2 - l1;
		return res;
	}

	private static String getHtml(String address) {
		StringBuffer html = new StringBuffer();
		String result = null;
		try {
			URL url = new URL(address);
			URLConnection conn = url.openConnection();
			conn.setRequestProperty("User-Agent",
					"Mozilla/4.0 (compatible; MSIE 7.0; NT 5.1; GTB5; .NET CLR 2.0.50727; CIBA)");
			BufferedInputStream in = new BufferedInputStream(conn.getInputStream());

			try {
				String inputLine;
				byte[] buf = new byte[4096];
				int bytesRead = 0;
				while (bytesRead >= 0) {
					inputLine = new String(buf, 0, bytesRead, "ISO-8859-1");
					html.append(inputLine);
					bytesRead = in.read(buf);
					inputLine = null;
				}
				buf = null;
			} finally {
				in.close();
				conn = null;
				url = null;
			}
			result = new String(html.toString().trim().getBytes("ISO-8859-1"), "gb2312").toLowerCase();

		} catch (Exception e) {
			e.printStackTrace();
			return null;
		} finally {
			html = null;
		}
		return result;
	}
}
